package com.lanchetech.dao;

import java.util.Date;

import com.lanchetech.bean.request.AreaApplyPageReq;
import org.apache.ibatis.annotations.Param;

import com.lanchetech.bean.request.AreaApplyReq;
import com.lanchetech.bean.vo.AreaApplyVO;
import com.lanchetech.entity.AreaApply;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface AreaApplyMapper {
    int deleteByPrimaryKey(Long id);

    int insert(AreaApply record);

    int insertSelective(AreaApply record);

    AreaApply selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(AreaApply record);

    int updateByPrimaryKey(AreaApply record);

    List<AreaApplyVO> findAllPage(AreaApplyPageReq req);

    int updateStatusAndUpdatedAtbyid(@Param("updatedStatus") Byte updatedStatus, @Param("updatedUpdatedAt") Date updatedUpdatedAt, @Param("id") Long id);

    int updateStatusAndUpdatedAtAndAuditAdminIdById(@Param("updatedStatus") Byte updatedStatus, @Param("updatedUpdatedAt") Date updatedUpdatedAt, @Param("updatedAuditAdminId") Long updatedAuditAdminId, @Param("id") Long id);

    int cancelAreaApply(@Param("status") Byte status, @Param("id") Long id);
}